/* * Copyright (c) 2013 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ package com.google.api.client.googleapis.util; import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; import junit.framework.TestCase; import java.io.IOException; import java.net.URLDecoder; import java.util.HashMap; import java.util.Map; /** * Tests {@link Utils}. * * @author Yaniv Inbar */ public class UtilsTest extends TestCase { public void testGetDefaultJsonFactory() { JsonFactory jsonFactory = Utils.getDefaultJsonFactory(); assertNotNull(jsonFactory); assertTrue(jsonFactory instanceof JacksonFactory); JsonFactory secondCall = Utils.getDefaultJsonFactory(); assertSame(jsonFactory, secondCall); } public void testGetDefaultTransport() { HttpTransport transport = Utils.getDefaultTransport(); assertNotNull(transport); assertTrue(transport instanceof NetHttpTransport); HttpTransport secondCall = Utils.getDefaultTransport(); assertSame(transport, secondCall); } public static Map<String, String> parseQuery(String query) throws IOException { Map<String, String> map = new HashMap<String, String>(); String[] entries = query.split("&"); for (String entry : entries) { String[] sides = entry.split("="); if (sides.length != 2) { throw new IOException("Invalid Query String"); } String key = URLDecoder.decode(sides[0], "UTF-8"); String value = URLDecoder.decode(sides[1], "UTF-8"); map.put(key, value); } return map; } }